A function, also known as a procedure, routine, or subroutine, is a sequence of instructions that perform a specific operation. Functions may be used to simplify a program by breaking parts of the program into simple steps and eliminating redundancy in codes. A calling routine gives control of the program to the function, passes variables into the function, and receives a result from the function. To call a function, the calling routine may contain a collection of instructions that branch to the function and specify the return address back into the calling routine after the function has executed.